# 2个重要的响应头数据: content-type , Status Code
#       Content-Type（内容类型）： Content-Type 是 HTTP 头部字段，
#       用于指示资源的 MIME 类型（媒体类型），告诉客户端返回的内容是什么格式。

#       常见 Content-Type 类型：
#               text/html - HTML 文档 (Flask默认类型)
#               application/json - JSON 数据


import json
from flask import Flask,make_response,Response,jsonify
app = Flask(__name__)

@app.route('/')
def index():
    return 'Hello World!'


# 使用 make_response 重新设置响应头
@app.route('/getJson')
def getJson():
    user = {
        'username': 'jack',
        'password': '123',
        'email': 'nwshen@iflytek.com',
        'age':18,
        'gender':'male',
        'money':10000000
    }

    # return json.dumps(user)#只是做了序列化

    #使用 make_response 修改响应头
    #告诉浏览器我们返回的是json 不然flask默认告诉浏览器返回的是html
    # josn_str = json.dumps(user)
    # response = make_response(josn_str)
    # response.headers['Content-Type'] = 'application/json'
    # return response

    # 使用Response 修改响应头
    # return Response(
    #     json.dumps(user),
    #     mimetype='application/json',
    #     headers={'Content-Type': 'application/json'}
    # )

    return jsonify(user)#帮你做了序列化,帮你设置了application/json

if __name__ == '__main__':
    app.run(debug=True,port=7000)


